Fall-12: Introducing the basics of user-level multithreading

نویسندگان

  • Ana Lúcia de Moura
  • Noemi Rodriguez
چکیده

Current parallel libraries and languages often rely on user-level threads to allow for massive concurrency. However, even junior or senior students often have difficulties with the understanding of the pros and cons of user-level threading, due to a lack of concrete experience with its implementation. In this poster, we describe our effort to introduce this concept in the introductory Computer Systems course at PUC-Rio. This is a required course for three of PUC-Rio’s undergraduate programs: Computer Engineering, Computer Science and Information Systems. During the course, students are exposed to basic concepts underlying computer systems, learning and exploring the ways in which these concepts provide support for implementing several abstractions present in typical imperative programming languages. Because the course explores extensively the concepts of execution stack and global data area, it is an ideal point in the curriculum to introduce user-level threads. We describe the theoretical and laboratory material we developed on the topic, in which we explored the concept of coroutines and a basic library that can be built on to implement symmetric and asymmetric coroutines. Keywords-user-level multitasking, coroutines, computer systems

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Design and Construction of a User - Level Kernel

| Multithreading is a powerful programming paradigm that has become very popular in recent years. The authors have developed a set of course materials and software tools for eeectively teaching multithreaded programming (MTP). One important component of the au-thors' system is a very simple user-level kernel for instructors to teach MTP without getting into system details , and for the students...

متن کامل

The Design and Construction of a User - Level Kernel forTeaching Multithreaded

| Multithreading is a powerful programming paradigm that has become very popular in recent years. The authors have developed a set of course materials and software tools for eeectively teaching multithreaded programming (MTP). One important component of the au-thors' system is a very simple user-level kernel for instructors to teach MTP without getting into system details , and for the students...

متن کامل

Nested Parallelism in the OMPi OpenMP/C Compiler

This paper presents a new version of the OMPi OpenMP C compiler, enhanced by lightweight runtime support based on user-level multithreading. A large number of threads can be spawned for a parallel region and multiple levels of parallelism are supported efficiently, without introducing additional overheads to the OpenMP library. Management of nested parallelism is based on an adaptive distributi...

متن کامل

Validity of the Opinion of a Physician Specializing in the fall or Conversion of the Punishment of a Warlord and Corruptor on Earth with Mental Disorders

Warlord and corruption on earth are among the security crimes in the Islamic Penal Code adopted in 1392, which are separated from each other and each has its own instances. But what is important in the meantime is that some perpetrators of these crimes are not psychologically and medically able to bear the punishment, so it remains to be seen whether, given the importance and severity of these ...

متن کامل

User-level multithreading architecture for real-time systems: The Arx approach

In real-time systems, it becomes imperative to support preemptive multithreading at a low cost in order to timely respond to high priority asynchronous events. Although user-level threads provide more exible abstraction with lower overhead than kernel-level threads, kernel-level threads are more favored in real-time systems due to their simpler thread scheduling and signal handling. In this pap...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013